/**
 * 用于处理分类的js异步获得当前子分类
 */
$(function() {
	$('.sonPlus').toggle(toggle1, toggle2);

	function toggle1() {
		//当点击第一次+号的时候是展开当前分类ajax查询当前分类下面的子分类 再让这个+号变为-号
		var cid = $(this).parent().data('cid');
		$(this).find('span').addClass('glyphicon-minus');
		var $isThis = $(this);
		//判断当前是存在缓存
//		console.log($.data[cid]);
		if (!$.data[cid]) {
			$.ajax({
					url: getSonCate,
					data: {
						cid, cid
					},
					dataType: 'json',
					type: 'post',
					success: function(phpData) {
						
						if (phpData) {
							$.data[cid] = phpData;
							//将返回的数组遍历出来
							var str = '';
							for (var i = 0; i < $.data[cid].length; i++) {
								str += '<tr data-cid="' + $.data[cid][i].cid + '" data-pid="' + $.data[cid][i].pid + '">';
								str += '<td class="sonPlus" style="cursor: pointer;"><span class="glyphicon glyphicon-plus"></span></td>';
								//绑定事件
								str += '<td>' + $.data[cid][i].cid + '</td>';
								str += '<td>' + $.data[cid][i]._name + '</td>';
								str += '<td>' + $.data[cid][i].cdesc + '</td>';
								str += '<td>' + $.data[cid][i].csort + '</td>';
								var isShow = '';
								if ($.data[cid][i].is_show == 1) {
									isShow = '显示'
								} else {
									isShow = '隐藏';
								}
								str += '<td>' + isShow + '</td>';
								var isShowNav = '';
								if ($.data[cid][i].is_show_nav == 1) {
									isShowNav = '显示'
								} else {
									isShowNav = '隐藏';
								}
								str += '<td>' + isShowNav + '</td>';
								str += '<td><a href="' + C + '/addCate/cid/' + $.data[cid][i].cid + '" class="hd-btn hd-btn-primary hd-btn-sm" style="display: inline;">添加子分类</a>&nbsp;';
								str += '<a href="' + C + '/delCategory/cid/' + $.data[cid][i].cid + '" class="hd-btn hd-btn-danger hd-btn-sm" style="display: inline;">删除</a>&nbsp;';
								str += '<a href="' + C + '/editCategory/cid/' + $.data[cid][i].cid + '" class="hd-btn hd-btn-success hd-btn-sm" style="display: inline;">修改</a>&nbsp;</td>';
								str += '</tr>';
							}
						}
						$isThis.parent().after(str);
						$('.sonPlus').off();
						$('.sonPlus').toggle(toggle1, toggle2);
					}
				})
				//当存在缓存时直接使用缓存中的数量 
		} else {
			
			//将返回的数组遍历出来
			var str = '';
			for (var i = 0; i < $.data[cid].length; i++) {
				str += '<tr data-cid="' + $.data[cid][i].cid + '" data-pid="' + $.data[cid][i].pid + '">';
				str += '<td class="sonPlus" style="cursor: pointer;"><span class="glyphicon glyphicon-plus"></span></td>';
				str += '<td>' + $.data[cid][i].cid + '</td>';
				str += '<td>' + $.data[cid][i]._name + '</td>';
				str += '<td>' + $.data[cid][i].cdesc + '</td>';
				str += '<td>' + $.data[cid][i].csort + '</td>';
				var isShow = '';
				if ($.data[cid][i].is_show == 1) {
					isShow = '显示'
				} else {
					isShow = '隐藏';
				}
				str += '<td>' + isShow + '</td>';
				var isShowNav = '';
				if ($.data[cid][i].is_show_nav == 1) {
					isShowNav = '显示'
				} else {
					isShowNav = '隐藏';
				}
				str += '<td>' + isShowNav + '</td>';
				str += '<td><a href="' + C + '/addSon/cid/' + $.data[cid][i].cid + '" class="tablelink">添加子分类</a> &nbsp;';
				str += '<a href="' + C + '/delCategory/cid/' + $.data[cid][i].cid + '" class="tablelink">删除</a> &nbsp;';
				str += '<a href="' + C + '/editCategory/cid/' + $.data[cid][i].cid + '" class="tablelink">修改</a>&nbsp; </td>';
				str += '</tr>';
			}
			$isThis.parent().after(str);
			$('.sonPlus').off();
			$('.sonPlus').toggle(toggle1, toggle2);
		}
	}

	function toggle2() {
		
		
		$(this).find('span').removeClass('glyphicon-minus');
		//ajax获得当前分类所有的子类包含孙子类
		var cid = $(this).parent().data('cid');
		//如果不当前不存在子级缓存那么去请求AJAX
		if (!$.data[cid]['son']) {
			$.ajax({
				url: getChildCate,
				data: {
					cid: cid
				},
				dataType: 'json',
				type: 'post',
				success: function(phpData) {
					//得到的所有子类保存到缓存中
					$.data[cid]['son'] = phpData;
					for (var i = 0; i < $.data[cid]['son'].length; i++) {
						$('tr[data-cid=' + $.data[cid]['son'][i] + ']').remove();
					}
				}
			})
		} else {
			//否则直接隐藏相应的分类
			for (var i = 0; i < $.data[cid]['son'].length; i++) {
				$('tr[data-cid=' + $.data[cid]['son'][i] + ']').remove();
			}
		}
	}
})